Complex computer systems are built by assembling sub-systems dedicated to few specific tasks.
For example, Mobile phones and more generally embedded devices concentrate a wide variety of features, such as wireless telecommunications, multimedia, autonomy or connectivity and they are massively based on heterogeneous multi-core architectures.
Distributing a system on several collaborating sub-subsystems raises the issue of making them communicate with each other in an efficient manner. Several technologies have been built to address that issue from the software standpoint.
Recently, new distributed operating systems have been introduced which rely on client/server network protocols (such as the “9P” protocol) to access remote resources.
In these operating systems, computer resources are represented according to file systems. Files are envisaged in a synthetic manner. They do not only refer to data organized on a storage device. They may represent user interface windows, network connections or anything else, provided that what the file represents is manipulated using file operations such as “open”, “read”, “write”, “close”, etc. Accessing resources of a remote machine seamlessly comes to mounting the related remote file system into the local one, thanks to a dedicated distributed file-system.